<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // let arr = [ 10, 5, 2 ,7 ]

        // 我需要判断数组中的所有数字是不是都是偶数
        // 如果是得到true，不是得到false

        // 这个时候用every来做,every会遍历
        // 因为every是类似于&&，有一个是false结果就一定是false
        // 所以当某一次return false后，就没必要往下遍历了
        // let res = arr.every( v => {

        //     console.log(v)

        //     // if ( v == 5) {
        //     //     return false 
        //     // }
        //     return true
        // })
        // console.log(res) // true

        
        // let arr = [ 10, 6, 2 ,8 ]

        // let res2 = arr.every( v => {
        //     if (v % 2 == 0) {
        //         return true 
        //     }else {
        //         return false 
        //     }
        // } )

        // 优化1
        // let res2 = arr.every( v => {
        //     return v % 2 == 0
        // } )

        // 优化2
        // let res2 = arr.every( v => v % 2 == 0)
        // console.log(res2) // false

        /*
        // some类似于 || ： 有一个是true，结果就是true，都是false结果才是false
        // 所以第一次return true，那结果一定是true了，就没必要往后遍历了
        let arr = [ 10, 6, 2 ,8 ]
        let res3 = arr.some( v => {

            console.log(v)
            return false
        })

        console.log(res3) // false
        */



        // 用every和some可以用来快速的实现查找并列条件或者非并列条件
        let chkAll = [ true, true ,true, false ]
        // 想根据这个选中状态得到全选该有的结果
        // 全选就应该所有选中状态都是true，结果才是true，有一个是false结果就是false
        // 所以这里应该用every
        let res = chkAll.every( v => v )
        console.log(res) // false
    </script>
</body>
</html>